package com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.service;

import com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.model.TowerDataHistory;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.vo.TowerDataHistoryLineVO;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.vo.TowerDataHistorySearchVO;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.vo.TowerDataHistoryVO;
import com.jxdinfo.hussar.support.mp.base.service.HussarService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jxdinfo.hussar.cloud.module.example.tjjc.towerdatahistory.vo.TowerDataHistoryPageVO;
import com.jxdinfo.hussar.platform.core.base.apiresult.ApiResponse;

import java.util.List;

/**
 * 塔机历史数据服务类
 */
public interface TowerDataHistoryService extends HussarService<TowerDataHistory> {

    /**
     * 分页查询塔机历史数据
     *
     * @param towerDataHistorySearchVO 分页对象
     * @return 查询结果
     */
    ApiResponse<TowerDataHistoryPageVO> findByPage(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据曲线图查询
     *
     * @param towerDataHistorySearchVO 分页对象
     * @return 查询结果
     */
    ApiResponse<List<TowerDataHistoryVO>> findLineChart(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据条件查询
     *
     * @param towerDataHistorySearchVO 分页对象
     * @return 查询结果
     */
    ApiResponse<List<TowerDataHistoryVO>> findByList(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据曲线图查询
     *
     * @param towerDataHistorySearchVO 分页对象
     * @return 查询结果
     */
    ApiResponse<List<TowerDataHistoryLineVO>> findByLine(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据新增
     *
     * @param towerDataHistorySearchVO 分页对象
     * @return 查询结果
     */
    ApiResponse<String> add(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据修改
     *
     * @param towerDataHistorySearchVO
     * @return 查询结果
     */
    ApiResponse<String> updateTowerDataHistory(TowerDataHistorySearchVO towerDataHistorySearchVO);

    /**
     * 塔机历史数据删除
     *
     * @param towerDataHistorySearchVO
     * @return 查询结果
     */
    ApiResponse<String> deleteById(TowerDataHistorySearchVO towerDataHistorySearchVO);
}
